Impact of the r8 Transformations Functionality

Both the many-to-many and supertype-subtype relationships are automatically transformed at the time of creation of the relationship object.

Automatic Many-To-Many Transformation

When a many-to-many relationship is created, erwin® Data Modeler automatically creates the association table and its relationships. The following rules apply to this transformation:

  • When the model is in the physical view, the association table and its relationships are displayed, but when the model is in the logical view, the many-to-many relationship is displayed.
  • When a many-to-many relationship is deleted, the association table and its relationships are also deleted.
  • When an association table is deleted, the many-to-many relationship is also deleted.
  • When any of the two association table relationships is deleted the many-to-many relationship is also deleted.
  • Many-to-many relationships are excluded from FE/ALTER script generation based on the relationship object type.

Automatic Supertype-Subtype Identity Transformation

When a supertype-subtype relationship is created using a supertype-subtype symbol between two entities erwin® Data Modeler creates a subtype relationship between those two entities. The following rules apply to this transformation:

  • The relationship will have two layouts, one for the logical view and one for the physical view. The one for the logical view will be a line linking the subtype symbol to the subtype entity, and the one for the physical view will be a line linking the supertype entity with the subtype entity.
  • When the subtype symbol is deleted, the subtype relationships are also deleted.
  • When the last subtype relationship is deleted, the subtype symbol is also deleted.

Column Denormalization Transformation

The column denormalization transform is implemented differently in r8, using the Link object. A Link object will be automatically created to link an existing source attribute/column to a new or existing target attribute/column. You can create new Link objects and specify Link object properties using the Link Wizard. The Link Wizard is accessed from the Link tab of either the Attribute Editor or the Column Editor.

The Link Wizard lets you:

  • Specify Link object properties such as:
    • Name
    • Definition
    • Synch Direction (From-this, To-this, None, Two-way)
    • Target Column Reference
    • Synch Properties List
  • View the list of existing Link objects created for an attribute/column.
  • Delete Link objects. You can delete Link objects individually, or choose to delete all link objects in the model that are owned by attributes/columns.

The following rules apply to Link objects:

  • The target column can be created as new by the wizard or be selected from the existing columns on any table in the model.
  • Two Link objects are created for every link, one owned by the source column and one owned by the target column. For unidirectional synch, the synch direction on the source column is set to “From-this” and on the target column, to “To-this."
  • Link objects are excluded from FE/ALTER script generation.
  • Complete Compare will show the Link objects in a model-level compare.

Changes to the Supertype-Subtype Roll Up Transform Relationship Roll Up Rule

An enhancement was made to the supertype-subtype roll up transform relationship roll up rule for r8. All of the relationships coming to subtype tables from another table are merged into one by the roll up transformation unless rolenames are applied on any of the migrated attributes. This is the case where one table contributes its non-identifying relationships to more than one subtype table of the same supertype-subtype construct.

In previous versions, the old rule specified that each relationship associated with subtype tables had a correspondent target relationship in the supertype-subtype roll up transform.

For example, if E/4 has one non-identifying relationship coming into the subtype E/2 and one coming into the subtype E/3, then after the roll up, each of the non-identifying relationships had a corresponding target relationship going from E/4 to the supertype table E/1, as shown here:

Example Model_Old Transforms_SS Rollup Rule

For r8, the new rule specifies that if the incoming relationships to subtype tables have the same parent table, then merge them into one target relationship except for those relationships that are carrying rolenamed FK attributes.

Example 1: No rolenames are applied. All of the relationships coming from the parent table E/4 into subtype tables E/2 and E/3 are merged into one target relationship from E/4 to E/1:

Example 1_New SS Rollup Rule

Example 2: Some migrated FK attributes have rolenames. Attribute a migrated from E/4 to E/3 is rolenamed to RoleName. When the transformation is applied, every relationship that carries at least one rolenamed attribute will be represented in the target, so besides the relationship from E/4 to E/2, the relationship from E/4 to E/3 will also be represented in the target because it carries the rolenamed attribute RoleName.

Example 2_New SS Rollup Rule